前言
core dump文件作用这里不多介绍,主要为了osd进程有bug导致进程crash了,然后抓取core dump后方便定位bug。
配置
一般可以在/etc/profile中用ulimit命令来打开系统所有用户的core dump:
1 | $ cat /etc/profile |
但是上面的方式不好的地方是它打开了系统所有用户对应进程的core dump,再就是上面的方式对systemd管理的服务没有作用。
systemd管理的服务可以单独设置coredump,比如配置ceph-osd服务的,步骤如下:
1.echo “/var/crash/core.%e.%p” > /proc/sys/kernel/core_pattern
2.修改/usr/lib/systemd/system/ceph-osd@.service文件,在[Service]下增加LimitCORE=infinity
3.systemctl daemon-reload
4.systemctl restart ceph-osd@1
5.kill -6 {osd1的pid} #模拟osd.1进程crash
然后就可以在/var/crash目录下看到生成的core文件了。